Location data from a mobile device can be used for numerous applications. Many applications use location data for locating friends, playing games, and assisting a user with directions, for example. The location data can also be used to provide an alert on a user's mobile device when the user is the vicinity of a point of interest, such as a business, an institution, landmark, park, or other location that would be of interest to a user. For example, a user may choose to be alerted every time the user is near a particular store or restaurant, especially if the alert includes a promotional offer for the store or restaurant of interest.
In conventional geofence-based alert systems, geofence boundaries are established for each point-of-interest location. To mark a point of interest, the latitude and longitude coordinates for the point of interest are determined. A radius marking the bounds of the geofence is then applied around the point of interest. The data for each geofence boundary is then stored in the user's mobile computing device, such is in the cache of a user's mobile phone. When the user device enters the geofence boundary, the user device provides an alert to the user regarding the entrance event. For example, the user device may inform the user that “you have a coffee shop nearby providing a discount offer.”
Although conventional geofence-based alert systems work well in sparsely populated areas, a user device traveling thorough a densely populated area is oftentimes inundated with geofences for numerous points of interest. Storing the geofence data can consume the cache memory of the user device, and processing and providing numerous alerts for the numerous geofences can drain battery power. The numerous alerts can also annoy the user. For example, if a coffee chain has five storefronts within a kilometer of each other, a user traveling though the area may receive five separate geofence-based alerts (one for each coffee shop). Similarly, a user driving down a road may receive a geofence-based alert every time the user device nears a fuel station included among the points of interest.